package oss

import "github.com/gin-gonic/gin"

const (
	Local  = "LOCAL"
	Minio  = "MINIO"
	QiNiu  = "QINIU"
	AliYun = "ALIYUN"
)

// File 上传的文件信息
type File struct {
	Name   string `json:"name"`    // 文件名称
	ObjKey string `json:"obj_key"` // 文件上传的地址
	Size   int64  `json:"size"`    // 文件大小
	URL    string `json:"url"`     // 文件访问URL
	Ext    string `json:"ext"`     // 文件扩展名
}

// Uploader 文件上传接口
type Uploader interface {
	PutFile(ctx *gin.Context, name string) (File, error)
	PutUrlFile(url string, useProxy bool) (string, error)
	PutBase64(imageData string) (string, error)
	Delete(fileURL string) error
}
